import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ClarityModule } from 'clarity-angular';

import { FormatPipe } from './pipes/format.pipe';
import { SafeUrlPipe } from './pipes/safeUrl.pipe';
import { ParsePipe } from './pipes/parse.pipe';
import { FocusInput } from './directives/focusInput.directive';
import { EllipsisPipe } from './pipes/ellipsis.pipe';

import { ModalBaseComponent } from './components/modalBase/modalBase.component';

const import_modules = [
];

const export_modules = [
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    ClarityModule
];

const components = [
    ModalBaseComponent
];


const directives = [
    FocusInput
];

const pipes = [
    FormatPipe,
    ParsePipe,
    SafeUrlPipe,
    EllipsisPipe
];

@NgModule({
    declarations: [
        ...components,
        ...directives,
        ...pipes
    ],
    imports: [
        ...import_modules
    ],
    exports: [
        ...export_modules,
        ...components,
        ...directives,
        ...pipes
    ]
})
export class SharedModule { }
